2 F. CHAMBERS
SINC - LINK $1.50 per copy
The Toronto Timex/Sinciair Users Club News letter Vol. 1, No.2
P.O. Box 7274, Stn. A Toronto M5W 1X9
In this issue:
From the President
Hardware Review
Book Revlew
A Short Program in Forth (ZX Forth) r
Bug-Byte ZXTK - Application Notes
Tape Head Allgnment
Understanding & Using PEEK and POKE
Expanding RAM
=================x====x=====zm==x===z=====z========================================================
From the President:
Dear Members:
Late In 1982, 5 ZX-81 owners met in a bar at Yonge & Eglinton in Toronto to talk about
their computers. These Gentlemen are now the Executive of the Toronto Timex-Sinclair
users Club, We are now a National Club with members as far away as B.C. We now have 72
members, The Club meets the first and third Wednesday of every Month at the North York
Community Hall at Yonge & Sheppard in Willowdale. Our last meeting before summer break
wl!! be Wednesday, June 22, Regular meetings wit! resume Wednesday, September 21, The
Club's financia! status is OK for the time being, so there wil! not be an admission charae
per meeting, as has been suggested. | would like to remind everyone, If you have any com-
ments, questions or suggestions of any kind, please fee! free to let me know, | hope you
enjoy fhis long awalted Newsletter, :
Yours sincerely,
Pete Harvey
====================z=zz=r=================== ================================x=========x=====g==g==s=
EXECUTIVE
Librarian - John Castillos
Asst. Llbrarian - Martin Mauk
New Members - George Chambers
Membership Secretary and Education - Greg Lloyd
Correspondence - Chris Hart
=============z=z========z=zr=z=z=zr====z===========z===================z======z===z=====================
Newsletter prepared by GRAPHIC ENTERPRISES, WORD PROCESSING CENTRE
HARDWARE REVIEW
- by J.J. Castillos
MULT I FORTH BY THREE SYSTEMS OF FOR THE
EPROM CHIP GRAND RAPIDS ZX81
FORTH is a high-level computer language developed by Charles H, Moore in the last six-
ties, It was interpretive in the beginning but compiler versions are currently available
among which is listed the one we are reviewing now, The basic unit in FORTH is the word,
the language ts usually provided with a certain number of words, each one of which defines
a given function or routine and the user can add to this vocabulary with other words which
he designs, Because of the compiler nature of these verslons of the language, it runs
very fast as compared to BASIC, Speed is not the only advantage to the user since long
BASIC programs involving complicated subroutines have to be defined only once and then a
short string of FORTH words can replace what would be many lines of BASIC Program
Last year | bought the IPS version of compiler FORTH which is supplied as software in a
cassette and takes about 7K of memory, When the Tree Systems version which is supplied as
an 8K EPROM chip to replace the BASIC ROM became avallable, | decided to buy it in order
to compare them,
One of the first conclusions | drew is that although both versions are roughly comparable
in memory size, capabilities, speed and number of basic words provided, the Tree Systems
Chip has some advantages such as the extra memory available to the user. If you have a
16K RAM pack attached to your ZX81, the IPS FORTH leaves you about 9K of free RAM while
the Tree Systems chip takes less than 2K for its interna! use and leaves you over 14K for
your programs, Other advantages are that the Tree Systems chip has a bullt-in editor with
split screen, it has auto-repeat on al! keys, it is capable of multi-tasking (ie. up to
ten programs can be scheduled to run at some time in the future, for example, take temper-
ature readings every 20 minutes, etc.), it has standard ASCII characters which are dis-
played on the screen and last but not least, the convenience of the chip itself which re-
quires no loading and provides instant evallability on power-up. Tne 2764 EPROM chip con-
taining FORTH comes soldered to a small board to which the BASIC ROM can also be attached
so as to enable the user to switch at wil! between BASIC anc FORTH,
One serious drawback common to both versions currently available for the ZX81 is the inab-
tlity to obtain printouts, the results ere just displayed on the screen, Also the claims
by Tree Systems that their version of FORTH runs up to 130 times faster than BASIC is
wlidiy exaggerated and misleading. | tried the following standard test in both BASIC and
FORTH:
*
BASIC FORTH
10 For A= 1 to 3000
20 Scrol! 3000 1D CR | ° LOOP
30 Print A
40 Next A
In both FAST and SLOW modes FORTH was between 5 and 7 times faster than BASIC which is a
significant advantage but nothing even close to the above claim
The FORTH chip plus board comes with a 110 page manual which although ful! of irritating
spelling errors, is wel! written and to the best of our knowledge, quite error-free, a re-
freshing change from IPS's notoriously defective manual,
| must warn potential users that the Tree Systems version of FORTH requires at least 2K of
RAM and also that the power supply used will have to provide more than 500 mA, The BASIC
computer plus 16K RAM which we used for the test worked well with such a power supply but
with tne FORTH chip plugged in the same system was useless due to screen instability, A
650 mA power supply solved the problem, Finally, you must remember to turn off the com
puter before attempting to switch from one ROM to the other.
Summing up, If you want to do serious programming in FORTH, the Tree Systems version is
good value for your money unless you wish to walt to see If a chip becomes avaliable In
the future to provide access to the ZX Printer and perhaps more fig-FORTH commands, On
the other hand, If you only want to see what FORTH Is like and just try lt out, then the
IPS software version (ZX FORTH) should suffice,
The FORTH EPROM chip plus board and manua! is avallable from Tree Systems of Grand Raplds,
Michigan, USA for US$ 49,95,
BOOK REVIEW
y Je Je Castil!os
MASTERING YOUR TIMEX SINCLAIR 1000 PERSONAL COMPUTER by Tim Hartnel! and Diiwyn Jones,
BANTAM BOOKS paperback, New york/Toronto, $3.95 (COLES BOOKS),
At fast a comprehensive book to introduce users to ZX81 BASIC at a reasonable price! A
puzzting fact that caused me great concern when | began buying computer books was that the
prices were remarkably high for shoddtly produced, thin paperbacks, often full of frus-
trating errors both in the text and in the program listings, Some people were obviously
making huge profits with very ttttle effort at the expense of us users who had at the time
very little cholce.,
The above book written by Tim Hartnel!, former Editor of ZX COMPUTING magazine, and
Dilwyn Jones, a user himself and founder of a ZX81 Club in North Wales, is one of the best
Introductions to Sinclair BASIC that | have seen, The book starts assuming that you know
absolutely nothing about computers and devotes several chapters to explain the different
commands avallable in Sinclair BASIC, A study of conditional statements, loops and arrays
follows before the authors wrap up their description with moving graphics and the more
esoteric PEEKs and POKEs, The book ends with two valuable chapters on Business Applica-
tions and on converting other BASIC listings to the ZX81 version, The latter is the most
complete list of functions and their Sinclair equivalents that ! have seen so far, 22
pages tn all. Even somewhat experienced people such as myself gained valuable new know-
ledge after reading this book which includes dozens of examples to illustrate every point
the authors make, For instance, | knew that by POKEtng 16418,0 | could PRINT on all 24
lines of the screen but | did not know that by POKEing numbers between 3 and 21 in that
location, a SCROLL wit! begin above the norma! starting point (tine 21) leaving variable
portions of the screen untouched. Try the following: 10 PRINT AT 17,0; "UNAFFECTED
LINES" 20 PRINT AT 21,0; "OF THE SCREEN..." 30 POKE 16418,10 40 SCROLL 50 PRINT "A LINE
OF TEXT TO BE SCROLLED UP" 60 GOTO 40, RUN this program in SLOW mode and see what
happens.
The book is well written, in plain English and with a no-nonsense approach, and wil! be
very useful to any serious ZX81 user, | tried hard to find errors or obscure points but
could not find any, which is a recommendation in itself.
A SHORT PROGRAM IN FORTH (ZX FORTH)
by - J. J. Castillos
If you are like me, you got your copy of ZX FORTH, loaded lt, played a bit with It and
after realizing how different it was from BASIC, you put it away for a while, Just now |
am beginning to grasp the elementary notions of FORTH programming and ! would tike to
share with you a short program which shows some simple graphic and printing routines (each
# represents one blank space), Compare the speed of execution with a similar BASIC pro-
gram, for example, any of the BASIC games you may have which starts by drawing a black
border around the screen,
(30 spaces)
G 24 | DO CR "##" 128 EMIT ,.'FEXERERERERBRRRHREHTEESHESESEKFS" 128 EMIT LOOP ; Newline
A ."##" 31 Ø DO 128 EMIT LOOP ; Newline
M 10 1 DO CR LOO ; Newline
E ."##" 128 EMIT ."####THIS IS A DEMONSTRATION" CR CR ; Newline
ee
S ."##" 128 EMIT ."#####OF FORTH GRAPHICS..." CR CR ; Newline
(14 spaces)
X "ff" 128 EMIT ,'FXE£sfAssbsii$tiY" ; Newline
continued. ess
After making the above definitions exactiy as listed, you can run the program by entering
tne following list of words:
TASK G A HOME AME S X Newline
and see what happens, Remember that after the laborious entering of the definitions,
these stay in memory and are added to your Vocabulary, the actual program is the last
short line of words,
BUG-BYTE ZXTK Application Notes
- by G.F. Chambers
As many purchasers of the Bugbyte ZXTK Too! kit program are no doubt aware the instruction
leaflet supplied with the cassette can be rather daunting. For the benefit of the neo-
phyte programmer like myself,! have put together these notes which should help in getting
started. Note these are applicable to the ZX81 with a Sinclair 16K RAM attached.
STEP. ACTION ON-SCREEN RESULT T
1 Load ZXTK (Tool kit) On completion, displays advice to stop; after a
pause the option list appears,
2 Stop tape recorder <<<
3 Press BREAK key Report code (Inverse D/O) appears,
4 Enter POKE 16589, 120 Screen clears and Report code (0/0) appears.
5 Enter RAND USR 17054 Menu reappears.
6 Press 8 Fig 8 appears as OPT=8,
7 Press N/L Start = appears.
8 Press 1 Fla ! appears as START = 1,
9 Press N/L END = appears.
10 Press 5 Fig 3 appears as END-5,
11 Press N/L Inverse 0 appears,
12 Press BREAK Report code (Inverse D/O) appears.
This sequence has placed ZXTK safely above RAMTOP, Now proceed to load a program in
normal fashion (step 13),
STEP ACTION ON-SCREEN RESULT
13 Load your program -——-
14 Enter PRINT PEEK 31954 205 appears in upper RH corner,
15 Enter RAND USR 31954 Report code (0/0) appears.
16 Enter RAND USR 17034 Menu re-appears,
the
You are now ready to apply the ZXTK functions to your program, As an example, to renumber
a program to start at line 100 and increment.in steps of 10 line numbers, follow the se-
quence below:
STEP. ACTION ON-SCREEN RESULT
1 PRESS 2 OPT=2
2 PRESS N/L START =
3 PRESS 100 start = 100
continued.. ses
STEP ACT ION ON-SCREEN RESULT
4 PRESS N/L Step =
5 PRESS 10 Step = 10
6 PRESS N/L Screen goes blank for several seconds, Display re-
appears with a ZXTK successful completion report
code (Inverse 0),
Your program is now renumbered, You may observe this by entering BREAK, then LIST 100,
Enter RAND USE 17034 to get back to ZXTK menu.
SSS SPSS SSSSSSSSSHSSSSSSSSSSESHS SSS HS SSS SSESSSSSSS SS SSESS SH SSH SHS SSSS SS SSS SESS SHS SSS SSS SSSSSSSeEsss=
TAPE HEAD ALIGNMENT
= by Stan Plotrowsk!
if you are experiencing LOADing problems with commercia! or tapes from our club library,
in all probebliity your "Azimuth" is not correct, (Fig.l). This simply means that the
tape is not running at right angles to the tape head. The following tests and corrections
should be made to avold frustration both to yourself and our librerlan, The best time Is
when you first obtain a new or different tape recorder in order to avoid re-SAVEtng ali
your programs after your recorder is set perfectly.
AY Ra SER D Pos?
E Fib ADOTQOS NG
bine
`
SLo7 (9
Tate DEC <
&opY
Unplug the tape deck and without any tape tn it, press the "Play" button. There are two
tape heads that will! move forward (your erase and Record/Piaytack heads), On closer in-
spection, you wil! see two solid supporting posts under one head, This ts the Erase
Head. Under the other head you will see one solid supporting post and one spring-type
post, This Is the head you wit! be adjusting. Now, take note that above this spring post
ts a slotted screw, This is where you wlll make your adjustments for perfect LOADIng.
Above this screw, there is usually a slot in the body of the recorder in order to fit a
smal! screw driver so adjustments can be made with the tape running. (Fic.2).
Press tne "Stop" button so the tape heads move back to their resting or '"not-playing" pos-
ltlon, Plug the tape recorder in and use either a commercial ZX-81/Timex 1000 computer
tape or one from the library, (The tape recorder should not be hooked up to your computer
at this time), Turn the volume down so you can tolerate the whining noise and can clearly
hear the differences in pitch and clarity of the tape when you make your adjustments,
Now, slowly turn the screw first in one direction then the other and you wll! Immediately
hear The sound becoming more BASS or deeper in tone. Turn the screw head back unti! you
can hear the sound at [ts highest treble or clearest pitch, This is the idea! setting and
means you have corrected the "Azimuth" problem, The screw shou!d not have turned anymore
than 1/2 turn from its! origina! position, Remember, DO NOT USE ONE OF YOUR TAPES for
this test.
Now that you have your tape deck all tuned up correctly, you may not be able to load al!
your programs since they were SAVEd when the heads were mis-alianed, There are two alter-
natives: 1, use another tape deck that has tape recorder (before you align the head),
2. a slower but effective means using your tape deck alone:-
To use your tape deck alone you will have to constantly adjust the "Azimuth" adjusting
Screw by this method: keep that library tape or commercia! tape handy. Put your tape
back Into the player and adjust the screw until you hear the highest treble, Adjust the
volume to your normal LOAD level, plug the tape into the computer and LOAD the program,
Remove your tape and place the Library or Commercial tape back in and with the tape re-
corder unplugged trom the computer, adjust the screw until you again hear the highest
treble. SAVE your program as per normal volume etc,
This is the only solution to your problem, but once comrieteo, your programs should LOAD
Properly. If you are lucky, you nave only a few programs to LOAD & SAVE by this method,
otherwise like me, a fot of hours wil! be spent in correcting all your previous SAVEd
programs,
UNDERSTANDING AND USING PEEK AND POKE
= by Stan otr owsk
All! the memory used by computers is composed of numbers which are called addresses which
Is the same as line numbers tn Basic, In the ROM memory, the addresses used by the com-
puter are from O to about 8100, From 8192 to 16383 is the "Ghost area" of the ZX-81 where
there is no memory, From 16383 to 16515 is the memory used by the computer to keep track
of how much memory your computer has, or how many lines you are able to use on the screen,
etc. (your manual gives specific uses of these addresses), From 16514 to 32768 (for 16K
RAM packs) ts the available memory to be used by you tn your programs, The ROM memory ad-
dreses are "burned" tn with their specific numbers that tel! the computer how to print the
letter "A" for example and as such cannot be changed by you. The system variables that
uses addresses 16383 to 16515 can, in some instances, be changed by you without any
crashes, f
10 PRINT PEEK 16388
20 PRINT PEEP 16389 zi
RUN & ENTER
The first number on the screen will be Ø and the second number will be 128, Without gotna
into full detail! on machine code, in some instances the addresses hold an arithmetic
number (as opposed to a number that is a machine code command), The pecullar thing about
2 addresses that have numbers to be used in arithmetic form, is the way they hold them,
The greatest number that any address can hold is 255 and the lowest is O. Therefore, any
address can hold one number from f to 255 or 256 possible numbers (O ts a number), 256 ts
not very high so the computer stentist enable us to count higher by using the combination
of 2 addresses - the first address would contain a number from O to 256 and likewise the
second address. But, the second address with a number would be multiplied by 256 and
added to the first number, In the above program 16588 contains 0 (the first address con-
tains the "Low" byte) and the second address (the "High" byte) contains 128, Therefore,
256*128 = 32768 + 0 = 32768, This is the last address for RAMTOP, In some programs you
are asked to change Ramtop by lowering it so that you can place machine code routines
above it. These are the addresses used by the computer to keep track of Ramtop so by
POKE ing different values into these addresses you "fool" the computer into thinking there
is only room in memory from 16514 to the address you POKEd, for Basic. (Oniy machine code
can be entered above Ramtop), Therefore, if you want to reserve 1000 Bytes above Ramtop
for machine code routines you can work It out mathematically:
1, 32768 - 1000 :obtain value of new Ramtop
= 31768
2. INT (31768/256) :value for address 16389 (remember
- 124 High byte second, low byte first)
3, 124*256 = 31744
4, 31768 - 31744 :value for address 16388
= 24
Now, by direct command, POKE 16388,24
POKE 16389,124
New
ENTER
You have now reserved 1000 bytes above Ramtop for your machine code routines. To verify
this: PRINT PEEK 16388 4 256 * PEEK 16389 and your answer will be 51768, As far as the
computer is concerned the top of avatlable memory is 31768,
Turn the computer off then on again and by direct command: PRINT PEEK 16388 - 256 * PEEK
16589 and the computer wil! now tel! you the end of available memory (Ramtop) is at
address 32768, By the way, 32768 4- 16514 = approximately 16000 which ts 16K RAM,
If you noticed in some commercial! programs, the first tine number (which may contain
machine code) is the number "O", In Basic you cannot enter this as a line number nor can
you delete a line that is O. You can alter the first line number or make your first line
number a ^s by POKEtng an address: `
1 REM ZX-81 COMPUTER
BY DIRECT COMMAND: POKE 16510,0 then LIST O, You will see that the first line number in
your program is now a zero, If you POKE 16510,10 your first line number wil! be 10,
continued... . eoo
Another system variable address you can change with discretion is 16418, This address
holds the number of lines you are able to print on, PRINT PEEK 16418 and your answer wil!
be 2, When the computer is first turned on, It places 2 at the above location which al-
lows you to print or use line numbers O to 21 but you can use the full 24 lines (0 to 23)
of screen, The number 2 is there so that there is room for scroll and INPUT commands and
for space to give error code reports when your program stops, such as 9/100 which means
STOP statement executed at line number 100, Whenever you think of the lines on the screen
such as PRINT AT 10,0 you know that the computer wil! PRINT something about the centre of
the screen counting down from the top of the screen: 0, 1, 2, etc, The number at address
16418 counts from the bottom where in this case it means you cannot print on the bottom 3
lines: 0, 1, 2, You can change this number anywhere from 0 to 24, e.g.
10 POKE 16418, 10
20 PRINT AT 18,6; "ZX-81 COMPUTER"
30 SCROLL
40 PRINT TAB 10; "HELLO"
50 GOTO 30
RUN and ENTER
9,
Note where the SCROLLtng begins.
To use the full 24 tine screen yur program cannot contain a SCROLL or INPUT command or the
program may crash,
10 POKE 16418,0
20 CLS
30 FOR | = O to 23
40 PRINT "32 inverse spaces"
50 PRINT AT l|, (RND*51); "inverse period"
60 NEXT I
70 PRINT AT 10,14; "tnverse<, inverse +, inverse?"
80 IF INKEY$ = "s" THEN GOTO 20
90 GOTO 80
RUN and ENTER
(You need more than IK of RAM for this program),
Press "S" and the programs starts again.
So you can see that by POKEing different values into an address you can alter something
(in the above cases they were all arithmetic values) and tf you learn Machine Code Lang-
uacge you can alter commands or anything else (or you can cause the computer to crash if
vou are not careful),
In some programs you may see machine code routines which can enhance or make a program run
taster, Typically, a machine code program can run from 20 to 50 times as fast. For
example;
10 LET A=10 : in thls basic program line, the number of bytes used is 18,
- 4 for the line number
- | for LET
- | for A
- | for =
-10 for 10 (5 bytes per number )
- | for the end-of-line
M/C: LD A, 10 - uses 2 bytes. (This means Load A with 10 which is tdentical to the
above Basic line).
^ot only does machine code use less bytes but because you are working directly with the
CPU your program does not have to be interpreted from Basic to machine code and back to
basic then check for syntax errors al! of which are time consuming.
cont inued.....
The following are 2 machine code loader programs that you can use to POKE machine code in-
to a REM statement or above RAMTOP,
Decimal
10 LET X=16514 :tf above RAMTOP then change this value to the first address above
RAMTOP value,
20 INPUT Y
30 POKE X, Y
40 SCROLL
50 PRINT X, Y
60 LET X=X+1
70 GOTO 20
ENTERING HEX NUMBERS
10 LET x=16514
20 INPUT Y$
30 POKE 16*CODE Y$ + CODE Y$(2) - 476
40 SCROLL
50 PRINT 16* CODE Y$ + CODE Y$ - 476
60 LET X = X+]
70 GOTO 20
These loader programs enable us to quickly POKE machine code routines instead of labor-
ious!y POKE ina them separately such as:
POKE 16514,23
POKE 16515,82
POKE 16516,20
etc,
To see the difference in speed in Basic compared to Machine Code try these 2 routines,
BASIC MACHINE CODE
10 PRINT "p" 1 REM 1234567 POKE 16514,62
20 GOTO 10 POKE 16515,5535
POKE 16516,205
POKE 16517,8
POKE 16518,8
POKE 16519,24
POKE 16520,249
The following are short machine code routines placed as the first statement in your pro-
gram,
Al! machine coce routines in the following example are placed in REM statements,
cont inued,....
€
.
inverse of all characters on screen:
1 REM 12345678901234567890 (20 bytes placed in REM statement),
:enter the decima! loader with X=16514 then INPUT the following numbers;
42,12,64,6,23,45,35,126,254,118,32,5,16,248,201,198,128,119,24,242
(of course you do not enter the commas)
Delete the above loader program BUT NOT THE REM STATEMENT and enfer the following example
program:
10 PRINT AT 6,8; "ZX-81 COMPUTER"; AT 9,8; "INVERSE DEMO"
20 PAUSE 50
50 RAND USR 16514
40 PAUSE 50
50 RAND USR 16514
60 STOP
(RAND USR ts the same as RUN AND ENTER tn Basic),
Delete Lines 20, 30, 40, 50 and enter the following Lines:
20 FOR | = 1 TO 10
30 RAND USR 16514
40 NEXT I
You can see where you might be able to enhance a program that you made up by adding a pro-
gram line of RAND USR 16514 to get the inverse and then to change it beck use of the USR
command again.
SCROLL ROUTINES
You wil! have noticed by now how slow the SCROLL command on the ZX-81 is and the lonaer
the program, the longer lt takes to print on the screen. Also, after you have printed and
scrolled numerous times, it seems to take forever to clear the screen, In the ZX-81 there
is no Baste command to Scroll down, The following are machine code routines for Scrolling
up or down,
1 REM (46 bytes such as 46 x X's,
Enter the Decima! Loader Program and INPUT the following numbers:
42, 12, 64, 229, 17, 33, 0, 25, 209, 1, 214, 2, 237, 176, 201, 42, 16, 64, 17, 67, O,
237, 82, 229, 17, 33, 0, 237, 82, 209, 1, 181, 2, 237, 184, 42, 12, 64, 6, 32, 35, 54, 0,
16, 251, 201,
After entering the above numbers, delete the loader program leaving the REM statement,
here ts a short Basic program to use the scroll routines:
10 PRINT AT 10,10; "ZX=-81 COMPUTER"
20 IF INKEYS="U" THEN RAND USR 16514
30 IF INKEY$z"D" THEN RAND USE 16529
40 GOTO 20
RUN & ENTER
When you press U the Print statement wil! move Up and by press D the sfatement wi!! move
down,
To make further use of the Scroll routines in a program you could do the fot lowina:
Delete all the lines except your REM statement containing the machine code for the Scrol!
routines, Enter the following short Basic Program,
continued... . eee
10 LET A=16514
20 LET B=16529
30 LET X220 :the letters are assigned in order to save bytes in memory
40 LET Y=0 since a letter takes only | byte whereas each number takes 5
bytes; multiply that by the number of times you wil! be us-
tng the routines in a program and it wll! be a considerable
savina in bytes.
50 PRINT AT X,Y; "THIS IS A DEMONSTRATION IN"
60 RAND USR A
70 RAND USR A
80 FOR | = 1 TO 50
90 NEXT I
100 PRINT AT X, Y; "THE USE OF THE SCROLL ROUTINE"
110 FOR | = 1 TO 10
120 RAND USR A
130 NEXT |
140 STOP
Note the use of the PRINT AT statement, In the Basic Sinclair Scroll! the statement wil!
automotically print at the bottom of the screen but in machine code Scrol! you must spec-
tty this.
Note also, lines 80 and 90, You could have used PAUSE 50 but the FOR/NEXT loop as used
here is a short timing loop that does the same thing only tt is a smoother transition tn-
stead of the jerky PAUSE,
EXPANDING RAM
- by Jack Paget
ZX-81 TECHNICAL CORNER
By Brett Hilder
1) Question: Can | get more memory
inside my unexpanded ZX-817?
The article on the right appeared tn Answer: A 2K RAM chip can be added
Gladstone's catalogue, It seemed quite internally to provide 2K interna! RAM
Simple, and as | had found the 1K RAM for the A281, The ram IC4-4118 should
small, ! thouoht 2K would allow more be removed and one 6116-3 should re
flexibit!tty during my learnina 2X61 place tt. Link £2 should replace Link
programming end logically to me postpone #1. (Please note that internal RAM is
a decision of what size RAM to buy. always disabled when additional memory
links are used).
*ANY Interna! modifications to a ZX-81
wilt void the warranty and should be
attempted by individuals who have
electronic expertise,
Upon removing the computer circuit board, | found mine did not look like the one pictured
on page 162 of the AX81 Manual.
Al! IC's were soldered to the PC Board, There were (2) two 2116 chips side by side labe!-
led icáa anc Ic4b,
| removed Icéa, using solder wick on each of the pins of the Ic4a, Then, usino Radio
Shack's Spring Extractor, | heated the pins simultaneous!y, using Ungars Ic heartna pad on
a 42 watt soldering pen. The Ic popped off the board, Apparently tt would be wise to use
a 3-wire grounded tip iron,
| then, usina a sharpened toothpick, and the computer clamped on a vice, pushed the sharp
end into each of the Ic pin holes, having melted the solder from the back of the PC
board. Once each hole was cleared, | soldered a socket for the 6116 Ic into place, Then
| inserted the 6116, checkina carefully that the chip's #1 pin engaged the circuit's f!
trace.
continuedsccesece
| then carefully cut (using a dentist's pic) tne *5V trace to Ic4b, This is not noted in
tne article but Dennis mentioned this should be done.
After assembly hooking up power and TV, | found ! had a white screen, which proved to be a
permanent glitch, no cursar, (K,L,G,F,) anc when switching power on anc off, | would sore
times aet a black screen,
Needless to say, the 90 day warranty was now invalid, Tne author, Brett Hilder was puz-
zied., Tne distributor suggested $35,00 minimum to $129.00 maximum would fix if, Not what
| wanted.
Atter 2-3 weeks of "asking people what | should try next" and readina about how Ic cir-
Cults work and checking the circult board for treaks or shorts in the traces, | finally
pulled The 2nd l|cá off the board, reconnected the computer to tne TV and it worked,
On the "HeatLoad" proaram | was working on, | was out of RAM and after tidying up the dis-
play, | found | had used over 1600 bytes.
Needless to say, I'm quite happy and | am quite likely to get into the circuit again, to
add "Push to Reset" and possibly a composite video píus sync circutt to connect to a
monitor,
======z==z=z=zz====z=z=z=z====xz========x=x=========z=z=zz=z==========================r============================